package com.thomsonreuters.ce.edps.model.impl;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.thomsonreuters.ce.edps.model.IUnderlyingProduct;


/** @author Hibernate CodeGenerator */
public class UnderlyingProduct implements Serializable, IUnderlyingProduct {

    /** identifier field */
    private BigDecimal id;

    /** persistent field */
    private String name;

    /** persistent field */
    private String rcsCode;

    /** nullable persistent field */
    private String definition;

    /** nullable persistent field */
    private BigDecimal permId;

    /** persistent field */
    private Set physicalAssets;

    /** persistent field */
    private Set pasUprRships;

    /** persistent field */
    private Set underlyingProductRshipsByUprParentId;

    /** persistent field */
    private Set underlyingProductRshipsByUprChildId;

    /** full constructor */
    public UnderlyingProduct(BigDecimal id, String name, String rcsCode, String definition, BigDecimal permId, Set physicalAssets, Set pasUprRships, Set underlyingProductRshipsByUprParentId, Set underlyingProductRshipsByUprChildId) {
        this.id = id;
        this.name = name;
        this.rcsCode = rcsCode;
        this.definition = definition;
        this.permId = permId;
        this.physicalAssets = physicalAssets;
        this.pasUprRships = pasUprRships;
        this.underlyingProductRshipsByUprParentId = underlyingProductRshipsByUprParentId;
        this.underlyingProductRshipsByUprChildId = underlyingProductRshipsByUprChildId;
    }

    /** default constructor */
    public UnderlyingProduct() {
    }

    /** minimal constructor */
    public UnderlyingProduct(BigDecimal id, String name, String rcsCode, Set physicalAssets, Set pasUprRships, Set underlyingProductRshipsByUprParentId, Set underlyingProductRshipsByUprChildId) {
        this.id = id;
        this.name = name;
        this.rcsCode = rcsCode;
        this.physicalAssets = physicalAssets;
        this.pasUprRships = pasUprRships;
        this.underlyingProductRshipsByUprParentId = underlyingProductRshipsByUprParentId;
        this.underlyingProductRshipsByUprChildId = underlyingProductRshipsByUprChildId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getId()
	 */
    @Override
	public BigDecimal getId() {
        return this.id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setId(java.math.BigDecimal)
	 */
    @Override
	public void setId(BigDecimal id) {
        this.id = id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getName()
	 */
    @Override
	public String getName() {
        return this.name;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setName(java.lang.String)
	 */
    @Override
	public void setName(String name) {
        this.name = name;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getRcsCode()
	 */
    @Override
	public String getRcsCode() {
        return this.rcsCode;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setRcsCode(java.lang.String)
	 */
    @Override
	public void setRcsCode(String rcsCode) {
        this.rcsCode = rcsCode;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getDefinition()
	 */
    @Override
	public String getDefinition() {
        return this.definition;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setDefinition(java.lang.String)
	 */
    @Override
	public void setDefinition(String definition) {
        this.definition = definition;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getPermId()
	 */
    @Override
	public BigDecimal getPermId() {
        return this.permId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setPermId(java.math.BigDecimal)
	 */
    @Override
	public void setPermId(BigDecimal permId) {
        this.permId = permId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getPhysicalAssets()
	 */
    @Override
	public Set getPhysicalAssets() {
        return this.physicalAssets;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setPhysicalAssets(java.util.Set)
	 */
    @Override
	public void setPhysicalAssets(Set physicalAssets) {
        this.physicalAssets = physicalAssets;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getPasUprRships()
	 */
    @Override
	public Set getPasUprRships() {
        return this.pasUprRships;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setPasUprRships(java.util.Set)
	 */
    @Override
	public void setPasUprRships(Set pasUprRships) {
        this.pasUprRships = pasUprRships;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getUnderlyingProductRshipsByUprParentId()
	 */
    @Override
	public Set getUnderlyingProductRshipsByUprParentId() {
        return this.underlyingProductRshipsByUprParentId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setUnderlyingProductRshipsByUprParentId(java.util.Set)
	 */
    @Override
	public void setUnderlyingProductRshipsByUprParentId(Set underlyingProductRshipsByUprParentId) {
        this.underlyingProductRshipsByUprParentId = underlyingProductRshipsByUprParentId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#getUnderlyingProductRshipsByUprChildId()
	 */
    @Override
	public Set getUnderlyingProductRshipsByUprChildId() {
        return this.underlyingProductRshipsByUprChildId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#setUnderlyingProductRshipsByUprChildId(java.util.Set)
	 */
    @Override
	public void setUnderlyingProductRshipsByUprChildId(Set underlyingProductRshipsByUprChildId) {
        this.underlyingProductRshipsByUprChildId = underlyingProductRshipsByUprChildId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IUnderlyingProduct#toString()
	 */
    @Override
	public String toString() {
        return new ToStringBuilder(this)
            .append("id", getId())
            .toString();
    }

}
